winsafe\taskschd\com_interfaces/
itriggercollection.rs1#![allow(non_camel_case_types, non_snake_case)]
2
3use crate::co;
4use crate::decl::*;
5use crate::ole::privs::*;
6use crate::prelude::*;
7use crate::taskschd::vts::*;
8
9com_interface! { ITriggerCollection: "85df5081-1b24-4f32-878a-d9d14df4cb77";
10 }
17
18impl oleaut_IDispatch for ITriggerCollection {}
19impl taskschd_ITriggerCollection for ITriggerCollection {}
20
21pub trait taskschd_ITriggerCollection: oleaut_IDispatch {
30 fn_com_noparm! { Clear: ITriggerCollectionVT;
31 }
34
35 #[must_use]
38 fn Create(&self, trigger_type: co::TASK_TRIGGER_TYPE2) -> HrResult<ITrigger> {
39 let mut queried = unsafe { ITrigger::null() };
40 ok_to_hrresult(unsafe {
41 (vt::<ITriggerCollectionVT>(self).Create)(
42 self.ptr(),
43 trigger_type.raw(),
44 queried.as_mut(),
45 )
46 })
47 .map(|_| queried)
48 }
49
50 #[must_use]
53 fn get_Count(&self) -> HrResult<i32> {
54 let mut count = 0i32;
55 ok_to_hrresult(unsafe {
56 (vt::<ITriggerCollectionVT>(self).get_Count)(self.ptr(), &mut count)
57 })
58 .map(|_| count)
59 }
60
61 #[must_use]
64 fn get_Item(&self, index: i32) -> HrResult<ITrigger> {
65 let mut queried = unsafe { ITrigger::null() };
66 ok_to_hrresult(unsafe {
67 (vt::<ITriggerCollectionVT>(self).get_Item)(self.ptr(), index, queried.as_mut())
68 })
69 .map(|_| queried)
70 }
71
72 fn Remove(&self, index: i32) -> HrResult<()> {
75 ok_to_hrresult(unsafe {
76 (vt::<ITriggerCollectionVT>(self).Remove)(self.ptr(), Variant::I4(index).to_raw()?)
77 })
78 }
79}